Content-based networks are described in A Carzaniga, M. J. Rutherford, A. L. Wolf, A routing scheme for content-based networking, Department of Computer Science, University of Colorado, June 2003, the contents of which are incorporated herein by reference.
In XML or other forms of content routed networks (such as the attribute/value model of the Carzaniga et. al. paper referenced above), user data is forwarded through the network in a “headerless” fashion. That is, the XML document is forwarded at each hop by inspecting the content of the application document. Each XML router terminates an HTTP, SMTP or other protocol connection, and examines then forwards the encapsulated document. Any end-to-end information that may have been carried in underlying protocol headers is lost. This is in contrast with other routed networking protocols, such as IP, where a network layer header is preserved, with some fields possibly modified (such as the time to live field in an IP packet header) from sender to destination. This network layer header may be used by the routers along the forwarded path to mark, re-use and monitor information about the packet. This header can also be used by nodes at the edge of the network to mark the packet with “behavioral” or other information which is derived from local policy and therefore which need not be configured on each node in the network.
In the prior art, such as in the above reference “a routing scheme for content-based networking”, there is an assumption that no further data is attached to a document or event which is being content-routed in a network, other than the identifier of the source node of the event. It is assumed that only the content of the event or document is used by each content router (also referred to as a message broker in the prior art) to determine where in the network the item needs to be further routed. However, attaching meta-data to an event or document (hereafter only referred to as a document) in a content routed network provides for capabilities such as robust and scalable routing (refer to co-filed application Ser. No. 60/530,615, the contents of which are incorporated herein by reference) and enhanced services such as priority differentiation for quality of service (refer to co-filed application Ser. No. 60/588,797, the contents of which are incorporated herein by reference).
Content routing networks are often built as overlay networks above an underlying network, such as an IP network. Point-to-point links are created between content routers in order to make pairs of content routers logically adjacent (although they may be separated by multiple hops in the underlying IP network). This is similar to how IP (as a connectionless packet layer) is carried on top of its many layer 2 protocols (such as SONET, Ethernet, etc. as is known in the art). The overlaying of content routing upon an underlying network technology, such as IP, necessitates support for functionality such as priority, loop prevention, tracing, etc in order to build a robust and scalable content routing solution.